g_free (source_dir);
}
+static void
+dark_mode_cb (GtkToggleButton *button,
+ GParamSpec *pspec,
+ NodeEditorWindow *self)
+{
+ g_object_set (gtk_widget_get_settings (GTK_WIDGET (self)),
+ "gtk-application-prefer-dark-theme", gtk_toggle_button_get_active (button),
+ NULL);
+}
+
static void
node_editor_window_finalize (GObject *object)
{
gtk_widget_class_bind_template_callback (widget_class, export_image_cb);
gtk_widget_class_bind_template_callback (widget_class, testcase_save_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, testcase_name_entry_changed_cb);
+ gtk_widget_class_bind_template_callback (widget_class, dark_mode_cb);
}
static GtkWidget *
<property name="icon-name">open-menu-symbolic</property>
</object>
</child>
+ <child type="end">
+ <object class="GtkToggleButton" id="dark_bg_button">
+ <property name="valign">center</property>
+ <property name="has-frame">0</property>
+ <property name="icon-name">display-brightness-symbolic</property>
+ <property name="tooltip-text" translatable="yes">Use a dark background</property>
+ <signal name="notify::active" handler="dark_mode_cb" swapped="0"/>
+ </object>
+ </child>
</object>
</child>
<child>